iT邦幫忙

2022 iThome 鐵人賽

DAY 7
0
自我挑戰組

老菜雞挑戰30天學爆Unity&C#會成功嗎?...系列 第 7

【Day7】老菜雞學下樓梯遊戲之Unity樣板(Prefab)介紹&應用

  • 分享至 

  • xImage
  •  

前言

由於這款遊戲會用到許多階梯,所以要先來複製階梯,還記得複製物件要用ctrl+D鍵喔!
那假如今天突然想要改變階梯的樣式,是不是只能一個一個去做修改? 其實不用那麼麻煩,
Unity有提供一個東西叫做Prefab,可以把物件製作成樣板來供我們使用。


樣板(Prefab)

  • 什麼是Prefab?
    簡單來說就是把遊戲物件及其屬性變成Asset,可以被實體化(Instantiate)或複製(Clone),當你有任一個物件是透過Prefab產生的話,只要在Project視窗針對Prefab進行修改,那麼有參考到這個Prefab的物件就會直接被修改,也會即時反應到物件上。
  • 何時會用到Prefab?
    把需要重複用到的物件將之製作成樣板,假設要修改它時,就不需要全部一個個去做修改,用Prefab會很方便地去管理這類的物件。
  • 製作Prefab
    將要製作成Prefab的物件(Ex.重複性高的物件),直接從Hierachy視窗上拖曳到Project視窗即可,變成Prefab的物件它的名稱會變成藍色字,如圖↓
    https://ithelp.ithome.com.tw/upload/images/20220918/20152411aLv7YmntXq.jpg
  • 複製Prefab
    直接從Project視窗將被複製的Prefab拖曳到Scene視窗就能產生一個實體。

Prefab應用於該遊戲中

  • 直接把想做成Prefab的物件拖曳到下面Assets視窗。
    https://ithelp.ithome.com.tw/upload/images/20220918/20152411P6vAiYfYyt.jpg
  • 如果想複製Prefab就直接將被複製的Prefab從Assets視窗拖曳到Scene視窗中。
    https://ithelp.ithome.com.tw/upload/images/20220918/20152411HqbdSRGPtc.jpg
  • 假設突然想要改變Prefab(如把Nails的寬度改成1.5倍)→先點選其中一個Nails修改成想要的樣子→再點上方的Overrides→跑出視窗點Apply All
    https://ithelp.ithome.com.tw/upload/images/20220918/20152411Yx9pwEQkcv.jpg

https://ithelp.ithome.com.tw/upload/images/20220918/20152411ZN0KEfB5XK.jpg
點完就會發現所有的Nails寬度都會跟著改變,就不用一個一個調整了!
https://ithelp.ithome.com.tw/upload/images/20220918/201524116ICSssxDqk.jpg
試玩時也能檢查到Console的判斷輸出是沒問題的~


心得

Prefab對於設計遊戲真的很方便,是猶豫不決的遊戲設計者的福音,如果突然想要更改某樣東西就不用那麼費時費力了。

  • 參考網址:https://www.youtube.com/watch?v=nPW6tKeapsM&ab_channel=GrandmaCan-%E6%88%91%E9%98%BF%E5%AC%A4%E9%83%BD%E6%9C%83
  • 音效、圖片 : 遊戲素材
    (素材由安德斯提供,感謝大大/images/emoticon/emoticon41.gif)
  • 關於Prefab的官方教程:https://learn.unity.com/tutorial/essential-unity-concepts#5c7f8528edbc2a002053b6c5

上一篇
【Day6】老菜雞學下樓梯遊戲之終於有雛型啦!(Unity匯入圖片及更改圖片大小)
下一篇
【Day8】老菜雞學下樓梯遊戲之生成、移動階梯-Unity Instantiate&GetComponent&Destroy應用
系列文
老菜雞挑戰30天學爆Unity&C#會成功嗎?...30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言